<!--$Id: db_set_msgcall.so,v 10.1 2004/04/16 19:01:56 bostic Exp $-->
<!--$Id: env_set_msgcall.so,v 10.7 2006/05/17 20:47:46 bostic Exp $-->
<!--Copyright (c) 1997,2008 Oracle.  All rights reserved.-->
<!--See the file LICENSE for redistribution information.-->
<html>
<head>
<title>Berkeley DB: Db::set_msgcall</title>
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
<meta name="keywords" content="embedded,database,programmatic,toolkit,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,Java,C,C++">
</head>
<body bgcolor=white>
<table width="100%"><tr valign=top>
<td>
<b>Db::set_msgcall</b>
</td>
<td align=right>
<a href="../api_cxx/api_core.html"><img src="../images/api.gif" alt="API"></a>
<a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a></td>
</tr></table>
<hr size=1 noshade>
<tt>
<b><pre>
#include &lt;db_cxx.h&gt;
<p>
void Db::set_msgcall(void (*db_msgcall_fcn)(const DbEnv *dbenv, char *msg));
</pre></b>
<hr size=1 noshade>
<b>Description: Db::set_msgcall</b>
<p>There are interfaces in the Berkeley DB library which either directly output
informational messages or statistical information, or configure the
library to output such messages when performing other operations, for
example, <a href="../api_cxx/env_set_verbose.html">DbEnv::set_verbose</a> and <a href="../api_cxx/env_stat.html">DbEnv::stat_print</a>.</p>
<p>The DbEnv::set_msgcall and Db::set_msgcall methods are used to
pass these messages to the application, and Berkeley DB will call
<b>db_msgcall_fcn</b> with each message.  It is up to the
<b>db_msgcall_fcn</b> function to display the message in an appropriate
manner.</p>
<p>Setting <b>db_msgcall_fcn</b> to NULL unconfigures the callback interface.</p>
<p>Alternatively, you can use the <a href="../api_cxx/env_set_msg_stream.html">DbEnv::set_message_stream</a> and
<a href="../api_cxx/db_set_msg_stream.html">Db::set_message_stream</a> methods to display the messages via an output
stream, or the <a href="../api_cxx/db_set_msgfile.html">Db::set_msgfile</a> or <a href="../api_cxx/env_set_msgfile.html">DbEnv::set_msgfile</a> methods
to display the messages via a C library FILE *.</p>
<p>For <a href="../api_cxx/db_class.html">Db</a> handles opened inside of Berkeley DB environments, calling the
Db::set_msgcall method affects the entire environment and is equivalent to calling
the DbEnv::set_msgcall method.</p>
<p>The Db::set_msgcall method configures operations performed using the specified
<a href="../api_cxx/db_class.html">Db</a> handle, not all operations performed on the underlying
database.</p>
<p>The Db::set_msgcall method may be called at any time during the life of the
application.</p>
<b>Parameters</b> <br>
 <b>db_msgcall_fcn</b><ul compact><li>The <b>db_msgcall_fcn</b> parameter is the application-specified message
reporting function.  The function takes two parameters:
<br>
<b><b>dbenv</b></b><ul compact><li>The <b>dbenv</b> parameter is the enclosing database environment.</ul>
<b><b>msg</b></b><ul compact><li>The <b>msg</b> parameter is the message string.</ul>
<br></ul>
<p>Berkeley DB is not re-entrant.  Callback functions should not attempt to make
library calls (for example, to release locks or close open handles).
Re-entering Berkeley DB is not guaranteed to work correctly, and the results
are undefined.</p>
<br>
<hr size=1 noshade>
<br><b>Class</b>
<a href="../api_cxx/db_class.html">Db</a>
<br><b>See Also</b>
<a href="../api_cxx/db_list.html">Databases and Related Methods</a>
</tt>
<table width="100%"><tr><td><br></td><td align=right>
<a href="../api_cxx/api_core.html"><img src="../images/api.gif" alt="API"></a><a href="../ref/toc.html"><img src="../images/ref.gif" alt="Ref"></a>
</td></tr></table>
<p><font size=1>Copyright (c) 1996,2008 Oracle.  All rights reserved.</font>
</body>
</html>
